<==Back

A few of Fowler's Smells.

Poor Names
Name suggests wrong intent
Long methods
More than 1 thing/multiple levels of abstraction
Large classes
More than one concept/multiple levels of abstraction
Long parameter list
Too many arguments to keep straight (> 3)
Duplicated code
Same or similar code appears in more than one place
Divergent change
The class/method changes for dissimilar reasons
Shotgun Surgery
Single change affects multiple classes/methods
Feature Envy
One class uses another class¿ members
Switch Statements
Duplicated switches/if-else's over same criterion

Here's a complete list.

<==Back